#ifndef _GRO_UTILITY_H__
#define _GRO_UTILITY_H__

#include <vector>
#include <string>
#include "GRO_Gui.h"
#include "GRO_Painter.h"

namespace GRO
{
    
    class StringConverter
    {
        public:
        
        static bool convert(const std::string& str, Rect& rect);
        static bool convert(const std::string& str, Point& point);
        static bool convert(const std::string& str, Dimensions& dims);
    };


    class BeaconRegister
    {
        public:
        std::string hostWidget;
        std::string beacon;
        std::string fn_widget;
        std::string fn_name;
        std::vector<std::string> args;
        
        // The gist of what we'll do: hostWidget.beacon.connect(fn_widget.fn_name(args))
        BeaconRegister(const std::string& hostWidget, const std::string& beacon, const std::string& fn_widget, const std::string& fn_name, const std::vector<std::string>& args)
            : hostWidget(hostWidget), beacon(beacon), fn_widget(fn_widget), fn_name(fn_name), args(args)
        {
            
        }
    };



}


#endif
